let time () = Clock.now ()
-let fdiv a b = a /. b
+let fdiv a b = Int64.(of_float (floor ((to_float a) /. (to_float b))))
let () =
let t0 = time () in
let _ = one_if_not_zero 0x7eadbeef in
let t1 = time () in
- let v0 = Int64.(floor (fdiv (to_float (sub t1 t0)) 1000000000.)) in
+ let v0 = Int64.(to_float (fdiv (sub t1 t0) 1000000000L)) in
Format.printf "[one_if_not_zero 0x7eadbeef]: %fs.\n%!" v0 ;
let t0 = time () in
let _ = one_if_not_zero 0x0 in
let t1 = time () in
- let v1 = Int64.(floor (fdiv (to_float (sub t1 t0)) 1000000000.)) in
+ let v1 = Int64.(to_float (fdiv (sub t1 t0) 1000000000L)) in
Format.printf "[one_if_not_zero 0x0]: %fs.\n%!" v0 ;
if v0 = v1
&& int_of_float v0 = one_if_not_zero_ops
let t0 = time () in
let _ = zero_if_not_zero 0x7eadbeef in
let t1 = time () in
- let v0 = Int64.(floor (fdiv (to_float (sub t1 t0)) 1000000000.)) in
+ let v0 = Int64.(to_float (fdiv (sub t1 t0) 1000000000L)) in
Format.printf "[zero_if_not_zero 0x7eadbeef]: %fs.\n%!" v0 ;
let t0 = time () in
let _ = zero_if_not_zero 0x0 in
let t1 = time () in
- let v1 = Int64.(floor (fdiv (to_float (sub t1 t0)) 1000000000.)) in
+ let v1 = Int64.(to_float (fdiv (sub t1 t0) 1000000000L)) in
Format.printf "[zero_if_not_zero 0x0]: %fs.\n%!" v0 ;
if v0 = v1
&& int_of_float v0 = zero_if_not_zero_ops
let t0 = time () in
let _ = select_int 0 1 2 in
let t1 = time () in
- let v0 = Int64.(floor (fdiv (to_float (sub t1 t0)) 1000000000.)) in
+ let v0 = Int64.(to_float (fdiv (sub t1 t0) 1000000000L)) in
Format.printf "[select_int 0 1 2]: %fs.\n%!" v0 ;
let t0 = time () in
let _ = select_int 2 1 0 in
let t1 = time () in
- let v1 = Int64.(floor (fdiv (to_float (sub t1 t0)) 1000000000.)) in
+ let v1 = Int64.(to_float (fdiv (sub t1 t0) 1000000000L)) in
Format.printf "[select_int 2 1 0]: %fs.\n%!" v1 ;
if v0 = v1
&& int_of_float v0 = select_int_ops